
    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>包装类有哪些功能 - 学习卡片</title>
      <style>
        body { font-family: sans-serif; background-color: #f0f8ff; color: #333; display: flex; flex-direction: column; align-items: center; padding: 50px 20px; }
        .header h1 { font-size: 32px; }
        .grid-container { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; width: 100%; max-width: 1200px; }
        .card-container { perspective: 1200px; cursor: pointer; height: 250px; }
        .card { width: 100%; height: 100%; position: relative; transform-style: preserve-3d; transition: transform 0.7s; border-radius: 16px; box-shadow: 0 4px 16px rgba(0,0,0,0.08); }
        .card-container.flipped .card { transform: rotateY(180deg); }
        .card-face { position: absolute; width: 100%; height: 100%; backface-visibility: hidden; display: flex; flex-direction: column; box-sizing: border-box; border-radius: 16px; background-color: #fff; padding: 24px; }
        .card-back { background-color: #f0fff4; transform: rotateY(180deg); justify-content: space-between; }
        .card-category { font-size: 14px; color: #0052d9; margin-bottom: 8px; font-weight: 500; }
        .card-question { font-size: 20px; font-weight: 500; flex-grow: 1; display: flex; align-items: center; justify-content: center; text-align: center; }
        .card-answer-wrapper { flex-grow: 1; overflow-y: auto; }
        .card-answer { font-size: 15px; line-height: 1.7; }
        .card-footer { font-size: 13px; color: #8a919f; border-top: 1px solid #f0f0f0; padding-top: 16px; margin-top: 16px; }
        .card-source { font-size: 13px; color: #8a919f; border-top: 1px solid #f0f0f0; padding-top: 12px; margin-top: 12px; }
      </style>
    </head>
    <body>
      <div class="header">
        <h1>包装类有哪些功能 - 学习卡片</h1>
      </div>
      <div class="grid-container">
        
    <div class="card-container" onclick="this.classList.toggle('flipped');">
      <div class="card">
        <div class="card-face card-front">
          <div class="card-category">机制</div>
          <div class="card-question">Java中的自动装箱（Autoboxing）和自动拆箱（Unboxing）分别是什么？</div>
          <div class="card-footer">点击卡片查看答案</div>
        </div>
        <div class="card-face card-back">
          <div class="card-category">机制</div>
          <div class="card-answer-wrapper">
            <div class="card-answer">自动装箱（Autoboxing）是将基本类型自动转换为对应的包装类对象；自动拆箱（Unboxing）是将包装类对象自动转换为对应的基本类型。</div>
          </div>
          <div class="card-source">来源: 1. 基本类型与对象的转换</div>
        </div>
      </div>
    </div>

    <div class="card-container" onclick="this.classList.toggle('flipped');">
      <div class="card">
        <div class="card-face card-front">
          <div class="card-category">机制</div>
          <div class="card-question">Integer包装类为了提升性能采用了什么机制？它的默认范围是多少？</div>
          <div class="card-footer">点击卡片查看答案</div>
        </div>
        <div class="card-face card-back">
          <div class="card-category">机制</div>
          <div class="card-answer-wrapper">
            <div class="card-answer">Integer类在一定范围内缓存了常用的对象。默认情况下，-128 到 127 之间的数值会被缓存，这意味着对这个范围内的数值，使用如 Integer.valueOf() 方法会重用同一个对象实例。</div>
          </div>
          <div class="card-source">来源: 3. 常量池和缓存</div>
        </div>
      </div>
    </div>

    <div class="card-container" onclick="this.classList.toggle('flipped');">
      <div class="card">
        <div class="card-face card-front">
          <div class="card-category">特性</div>
          <div class="card-question">为什么在Java泛型（Generics）中必须使用包装类而不是基本数据类型？</div>
          <div class="card-footer">点击卡片查看答案</div>
        </div>
        <div class="card-face card-back">
          <div class="card-category">特性</div>
          <div class="card-answer-wrapper">
            <div class="card-answer">因为Java泛型不支持基本类型，只能使用对象类型。包装类为基本类型提供了对象形式，从而使得它们可以在泛型集合（如 List<Integer>）中使用。</div>
          </div>
          <div class="card-source">来源: 8. 支持泛型</div>
        </div>
      </div>
    </div>

    <div class="card-container" onclick="this.classList.toggle('flipped');">
      <div class="card">
        <div class="card-face card-front">
          <div class="card-category">技术</div>
          <div class="card-question">如何使用包装类的方法将一个字符串（如 "123"）转换为基本数据类型 int？</div>
          <div class="card-footer">点击卡片查看答案</div>
        </div>
        <div class="card-face card-back">
          <div class="card-category">技术</div>
          <div class="card-answer-wrapper">
            <div class="card-answer">可以使用 `Integer.parseInt()` 方法将字符串转换为 `int` 类型。</div>
          </div>
          <div class="card-source">来源: 2. 类型转换</div>
        </div>
      </div>
    </div>

    <div class="card-container" onclick="this.classList.toggle('flipped');">
      <div class="card">
        <div class="card-face card-front">
          <div class="card-category">特性</div>
          <div class="card-question">除了封装基本类型外，包装类还提供了哪些有用的常量？请以Integer为例说明。</div>
          <div class="card-footer">点击卡片查看答案</div>
        </div>
        <div class="card-face card-back">
          <div class="card-category">特性</div>
          <div class="card-answer-wrapper">
            <div class="card-answer">包装类中定义了一些有用的常量，例如 `Integer` 类提供了 `Integer.MAX_VALUE` 和 `Integer.MIN_VALUE`，分别用于表示 `int` 类型的最大值和最小值。</div>
          </div>
          <div class="card-source">来源: 5. 提供常量</div>
        </div>
      </div>
    </div>

    <div class="card-container" onclick="this.classList.toggle('flipped');">
      <div class="card">
        <div class="card-face card-front">
          <div class="card-category">技术</div>
          <div class="card-question">在并发编程中，Java提供了哪些支持原子操作的包装类？并请举一个原子操作方法的例子。</div>
          <div class="card-footer">点击卡片查看答案</div>
        </div>
        <div class="card-face card-back">
          <div class="card-category">技术</div>
          <div class="card-answer-wrapper">
            <div class="card-answer">在并发环境中，Java提供了 `Atomic` 包装类（如 `AtomicInteger`、`AtomicLong`）来支持原子操作。这些类提供了一些线程安全的方法，例如 `incrementAndGet()` 和 `compareAndSet()`。</div>
          </div>
          <div class="card-source">来源: 6. 支持多线程操作</div>
        </div>
      </div>
    </div>

    <div class="card-container" onclick="this.classList.toggle('flipped');">
      <div class="card">
        <div class="card-face card-front">
          <div class="card-category">特性</div>
          <div class="card-question">除了基本的类型转换，包装类还提供了哪些实用的方法？</div>
          <div class="card-footer">点击卡片查看答案</div>
        </div>
        <div class="card-face card-back">
          <div class="card-category">特性</div>
          <div class="card-answer-wrapper">
            <div class="card-answer">包装类提供了多种实用方法，包括：用于比较的 `compareTo()` 和 `equals()`；用于数值转换的 `doubleValue()`、`longValue()` 等；以及用于进制转换的 `Integer.toBinaryString()`、`Integer.toHexString()` 等。</div>
          </div>
          <div class="card-source">来源: 4. 提供实用方法</div>
        </div>
      </div>
    </div>

    <div class="card-container" onclick="this.classList.toggle('flipped');">
      <div class="card">
        <div class="card-face card-front">
          <div class="card-category">理论</div>
          <div class="card-question">为什么说包装类在网络传输或数据持久化方面比基本类型更有优势？</div>
          <div class="card-footer">点击卡片查看答案</div>
        </div>
        <div class="card-face card-back">
          <div class="card-category">理论</div>
          <div class="card-answer-wrapper">
            <div class="card-answer">因为包装类是可序列化的，这意味着它们的对象可以在网络中传输或被持久化存储，而基本类型本身不支持序列化。</div>
          </div>
          <div class="card-source">来源: 10. 支持序列化</div>
        </div>
      </div>
    </div>

    <div class="card-container" onclick="this.classList.toggle('flipped');">
      <div class="card">
        <div class="card-face card-front">
          <div class="card-category">特性</div>
          <div class="card-question">Java中的`Void`包装类有什么特殊用途？</div>
          <div class="card-footer">点击卡片查看答案</div>
        </div>
        <div class="card-face card-back">
          <div class="card-category">特性</div>
          <div class="card-answer-wrapper">
            <div class="card-answer">`Void`是一个特殊的包装类，用于表示`void`类型。它通常在需要一个对象来代表`void`的场景中使用，例如在反射和泛型编程中。</div>
          </div>
          <div class="card-source">来源: 7. 特殊用途包装类</div>
        </div>
      </div>
    </div>

      </div>
    </body>
    </html>
